package com.shujia.wyh.day05;

/*
        continue的使用场景：
            1、在循环语句中
            2、离开使用场景的存在是没有意义的

 */
public class ControlDemo3 {
    public static void main(String[] args) {
        //continue 在 loop 外部
        //只能应用在循环内部
//        continue;
        //循环打印1-10，当打印到3的时候使用continue
        for(int i=1;i<=10;i++){
            if(i==3){
                continue; //跳过当次循环，继续后面的循环
            }
            System.out.println(i);
        }
        System.out.println("=========九九乘法表内层使用break==========================");
        //单独使用break跳出的是内循环
        for(int x=1;x<=9;x++){
            for(int y=1;y<=x;y++){
                if(y==4){
                    break; //跳出的最近的那个循环
                }
                System.out.print(x+"*"+y+"="+(x*y)+"\t");
            }
            System.out.println();
        }
        System.out.println("=========九九乘法表内层使用continue==========================");
        //单独使用break跳出的是内循环
        for(int x=1;x<=9;x++){
            for(int y=1;y<=x;y++){
                if(y==4){
                    continue;
                }
                System.out.print(x+"*"+y+"="+(x*y)+"\t");
            }
            System.out.println();
        }
        System.out.println("==========九九乘法表内层使用continue跳出外层当次循环============================");
        //单独使用break跳出的是内循环
        wc:for(int x=1;x<=9;x++){
            nc:for(int y=1;y<=x;y++){
                if(y==4){
                    continue wc;
                }
                System.out.print(x+"*"+y+"="+(x*y)+"\t");
            }
            System.out.println();
        }


        System.out.println("\n==========九九乘法表内层使用return============================");
        //单独使用break跳出的是内循环
        for(int x=1;x<=9;x++){
            for(int y=1;y<=x;y++){
                if(y==4){
                    //程序执行到这里，表示结束当前return所在那个方法，而现在return所在的方法为main方法
                    //而JVM运行的时候，main方法是程序的入口，你都结束了main方法，程序就停了，后面的代码都不会执行
                    return;
                }
                System.out.print(x+"*"+y+"="+(x*y)+"\t");
            }
            System.out.println();
        }


        System.out.println("\n====多写的代码看看会不会打印====九九乘法表内层使用return============================");
        //单独使用break跳出的是内循环
        for(int x=1;x<=9;x++){
            for(int y=1;y<=x;y++){
                if(y==4){
                    return;
                }
                System.out.print(x+"*"+y+"="+(x*y)+"\t");
            }
            System.out.println();
        }


    }
}
